\section{Input and output}

\subsection*{Text consoles}
\textbf{Status:} done

The UART simulated by SIMICS has been enabled and is fully functional.

\subsection*{Interrupt-Driven IO}
\textbf{Status:} done

When a process performs an I/O using the UART, it is removed from the ready queue and the I/O is done by generating interrupts when the device is ready.

\subsection*{Text output}
\textbf{Status:} done

Processes can print to the console using the appropriate system call, namely ecrire. Only one process at a time can be using the device, the others are blocked in a FIFO queue waiting for their turn.

\subsection*{Text input}
\textbf{Status:} done

Processes can request user input using the system call lire. The caller gets a string with the input in return.

\subsection*{Malta LCD output}
\textbf{Status:} done

Processes can print text to the Malta LCD using the ecrire\_lcd system call. If the input is too long, only the first eight characters are taken into account.
